package main
import "fmt"
import "time"
import "sync"

var wg sync.WaitGroup

func test() {
	for i := 0; i < 10; i++ {
		fmt.Println("test()", i)
		time.Sleep(time.Millisecond * 100)
	}
	wg.Done()		// 确认协程结束，协程计数器-1
}

func main() {
	wg.Add(1)	// 协程计数器+1
	go test()
	for i := 0; i < 10; i++ {
		fmt.Println("main()", i)
		time.Sleep(time.Millisecond * 50)
	}
	wg.Wait()	// 程序等待协程执行结束完毕（协程计数器为0）
}